#ifndef CODIGOS_H
#define CODIGOS_H

/* Subdividimos en grupos */

/* Para OP_MUL */
#define OP_MUL_AND 1001
#define OP_MUL_AST 1002
#define OP_MUL_MOD 1003
#define OP_MUL_DIV 1004
#define OP_MUL_NOT 1005

/* Para OP_ADD */
#define OP_ADD_OR    2001
#define OP_ADD_PLUS  2002
#define OP_ADD_MINUS 2003

/* Para OP_REL */
#define OP_REL_MAJOR    3001
#define OP_REL_MINOR    3002
#define OP_REL_MAJOREQ  3003
#define OP_REL_MINOREQ  3004
#define OP_REL_EQUAL    3005
#define OP_REL_NOTEQUAL 3006

/* Para CONDITIONAL */
#define COND_IF    	 4001
#define COND_THEN    4002
#define COND_ELSE    4003

/* Para PUNCTUATION */
#define SEMICOLON    5001
#define COLON        5002
#define COMMA        5003
#define ROUNDOPEN    5004
#define ROUNDCLOSE   5005
#define DOUBLEPOINT  5006
#define POINT   	 5007

/* Para BUCLES */
#define WHILE    7001
#define DO       7002
#define LOOP     7003

/* Para BOOLEAN */
#define B_TRUE    6001
#define B_FALSE   6002

enum { 	BEG = 1,
		END,
		PROGRAM,
		CONDITIONAL,
		BUCLES,
		VAR,
		BOOL,
		BOOLEAN,
		ID,
		CONST,
		OP_REL,
		OP_ADD,
		OP_MUL,
		PUNCTUATION,
		ASSIGN,
		INTEGER,
		INT,
		ARRAY,
		RECORD,
		PROCEDURE,
		OF,
		TYPE,
		UNKNOWN,
	};

#endif


